In today's communication age, communication networks are being used ever more frequently for transporting data. As networks grow ever more critical, there is a demand for multiple paths from all edge devices in a network into the core of the network in order to eliminate all single points of failure. Moreover, it is highly desirable that the elimination of single points of failure not result in unused capacity (which is often very costly) and perhaps more important, that rerouting around failures be as fast as possible. This elimination of single points of failure and rerouting around failures should preferably be as transparent as possible to the edge devices and should preferably interoperate with existing edge devices with little or no modification of the edge devices.